渗透测试|验证码爆破总结
一、使用reCAPTCHA插件进行验证码爆破
插件下载地址:https://github.com/bit4woo/reCAPTCHA/releases
1.浏览器输入网站登录页面,输入用户名和密码以及验证码,然后通过buspuit获取数据包
2.然后点击验证码获取验证码的地址,在proxy中找到获取图形验证码的请求,选中它并点击右键选择“Send to reCAPTCHA”,这个请求的信息将被发送到reCAPTCHA。
3.切换到reCAPTCHA标签,并配置所需的参数。当参数配置好后,你可以点击“请求”按钮来测试配置
这里需要注意的是,需要到https://www.jsdati.com/注册一个打码平台,然后购买点数,这里可以用1元购买测试。
username=xxx&password=xxxx&captchaType=1008.
这里的username是你注册的账号,password你注册账号的密码,aptchaType为你识别的验证码类型,该类型可以通过下面链接地址查询到
https://www.jsdati.com/docs/price
4.完成了配置并测试成功后,现在可以在Intruder中使用该插件生成的payload了。
有2种情况:用户名或密码之一+验证码;用户名+密码+验证码;
情况一:只有密码或只有用户名需要改变,我们可以用Pitchfork 模式来配置。
比如,已知系统存在一个用户admin,来爆破该用户,插入点标记如下,
payload 1我们从文件中加载,这个不必多说。
payload 2 选择“Extension-Generated”.
运行效果如下:
情况二:用户名和口令都需要改变,这个稍微复杂点。我们还是使用Pichfork模式,但需要将用户名和密码一起标注为一个插入点。像这样:
payload 1 使用“自定义迭代器(Custom interator)”。并在迭代器中组合用户名和密码。
在该例子中,即 position 1为用户名,postion 3为密码。
position 2 为“&j_password=”
payload 2 的配置和情况一中的配置完全一样。
运行效果如图:
二、使用captcha-kiler插件进行验证码爆破
1. 插件下载地址:
captcha-kiler:https://github.com/c0ny1/captcha-killer/tags
2.浏览器输入网站登录页面,输入用户名和密码以及验证码,然后通过buspuit获取数据包
3.然后点击验证码获取验证码的地址,通过buspuit拦截验证码获取地址,然后proxy--proxy history中发送数据包到repeater中,选中它并点击右键选择“send to captcha panel”,这个请求的信息将被发送到captcha-kiler
4.配置识别接口模板,这里通过(http://www.ttshitu.com/图鉴打码平台,(1元500次))
POST /base64 HTTP/1.1
Host: api.ttshitu.com
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Cookie: Hm_lvt_d92eb5418ecf5150abbfe0e505020254=1585994993,1586144399; SESSION=5ebf9c31-a424-44f8-8188-62ca56de7bdf; Hm_lpvt_d92eb5418ecf5150abbfe0e505020254=1586146123
Connection: close
Content-Type: application/json; charset=UTF-8
Content-Length: 2658
{"username":"xxx","password":"xxxxx","typeid":"2","image":"<@BASE64><@IMG_RAW></@IMG_RAW></@BASE64>"}
注意:这里username填入图鉴打码平台的用户名,密码则为打码平台的密码,typeid为识别验证码的类型
5.设置匹配规则将result后面的验证码,标记为识别结果
6.最终可以看到识别的效果图
7.验证码爆破:
情况一:只有密码或只有用户名需要改变,我们可以用Pitchfork 模式来配置。
比如,已知系统存在一个用户admin,来爆破该用户的密码,插入点标记如下
payload 1我们从文件中加载密码字典
payload 2 选择“Extension-Generated”--captcha-killer插件
运行效果如下:
情况二:用户名和口令都需要改变,这个稍微复杂点。我们还是使用Pichfork模式,但需要将用户名和密码一起标注为一个插入点。像这样:
payload 1 使用“自定义迭代器(Custom interator)”。并在迭代器中组合用户名和密码。
在该例子中,即 position 1为用户名
position 2 为“&is_manager=0&userpwd=”
postion 3为密码
payload 2 选择“Extension-Generated”--captcha-killer插件
运行效果
三、使用xp_CAPTCHA插件进行验证码爆破
1.安装
需要python3 小于3.7的版本
安装 muggle_ocr 模块(大概400M左右)
python3 -m pip install -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com muggle-ocr
运行 server.py
https://github.com/smxiazi/NEW_xp_CAPTCHA.git
python server.py
等待显示出 Starting server, listen at: 0.0.0.0:8899 访问 http://127.0.0.1:8899/ 显示下面界面即为正常。
2.burp联动识别验证码爆破
如果 server.py 在服务器上跑的话,xp_CAPTCHA.py需要修改对应的IP。
先下载jypthon插件,并加重环境变量,修改完后导入burp
https://repo1.maven.org/maven2/org/python/jython-standalone/2.7.0/jython-standalone-2.7.0.jar
Attack type处选择 Pitchfork,在http头部位置插入xiapao:验证码的URL地址
此处导入密码字典
选择验证码识别
然后把线程设置为1
来源于网络